//mostrar_datalist('producto', ' id, nombre_producto ', 'ver_id_producto', 'ver_id_productos');
mostrar_combo('producto', ' id, nombre_producto ', 'nombre_producto', 'valor');
mostrar_combo_multiple('terceros', ' id, nombre_completo, tipo_tercero ', 'nombre_completo', 'nombre_cliente', ' || ');
mostrar_combo_condicional('terceros', ' id, nombre_completo ', 'where tipo_tercero = "proveedor" ', 'id_proveedor');

function cliente(valor)
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'terceros',
    campos: 'id,nit, direccion, telefono, identificacion, tipo_tercero',
    buscar: 'id',
    valor: valor,
    caja: ''
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      //console.log(id);
      //document.getElementsByName('razon_social').item(0).value ='dfdf'
      //document.getElementsByName("" + id + "").item(0).value = valor;
      document.getElementById("" + id + "").value = valor;
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  }).error(function(data, status, readyState, responseText)
  {
    console.error("Error cliente: " + data.status);
    console.error("Error cliente: " + data.readyState);
    console.error("Error cliente: " + data.responseText);
  })
}

function editar_precio_valor(valor)
{
  console.log(valor);
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'precio_venta, maximo, minimo',
    buscar: 'id',
    valor: valor,
    caja: ''
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      switch (id)
      {
      case 'precio_venta':
        document.getElementById("actualizar").value = valor;
        break;
      case 'maximo':
        document.getElementById("maximo_producto").value = valor;
        break;
      case 'minimo':
        document.getElementById("minimo_producto").value = valor;
        break;
      }
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  }).error(function()
  {
    console.error("Error Editar Precio");
  });
}

function fecha_actual()
{
  var jqxhr = $.getJSON("libreria_php/tiempo.php", function(json)
  {
    console.log('fecha servidor');
    document.getElementById("fecha_factura").value = json.tiempo;
    document.getElementById("fecha_vencimiento").value = json.tiempo;
    console.log(json);
  }).fail(function(jqxhr, textStatus, error)
  {
    var err = textStatus + ", " + error;
    console.log("Request Failed: " + err);
    console.log(jqxhr);
  })
}

function consecutivo_producto(registros)
{
  var maximo = Number(registros);
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'MAX(id) AS id_compra',
    buscar: '',
    valor: '',
    caja: ''
  }, function(data)
  {
    //	console.log(data)
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      for (i = 0; i < maximo; i++)
      {
        //console.log(id + i);
        //	console.log(Number(valor) + i);
        document.getElementById("" + id + i + "").value = Number(valor) + (Number(i) + 1);
      }
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  });
}

function consecutivo_facura_venta()
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'maestro_factura_venta',
    campos: 'MAX(numero_factura) AS numero_factura',
    buscar: 'tipo_factura',
    valor: 'venta',
    caja: ''
  }, function(data)
  {
    console.log(data)
    $.each(data, function(id, valor)
    {
      document.getElementById("numero_factura").value = Number(valor) + 1;
    });
  }, "json")
}

function producto(valores, numero)
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'id, stock, descripcion, precio_venta',
    buscar: 'id',
    valor: valores,
    caja: numero
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
  }, "json").done(function(data)
  {
    consecutivo_facura_venta();
  });
}

function stock_producto_compra(valores, numero)
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'stock, minimo, maximo, descripcion, precio_costo, id_grupo_producto',
    buscar: 'id',
    valor: valores,
    caja: numero
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  });
}


function stock_producto_compra_datalist(valores, numero)
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'stock, minimo, maximo, descripcion, precio_costo, id_grupo_producto',
    buscar: 'id',
    valor: valores,
    caja: numero
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  });
}


function stock_producto_venta(valores, numero)
{
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'stock, minimo, maximo, descripcion, precio_venta, id_grupo_producto, id',
    buscar: 'id',
    valor: valores,
    caja: numero
  }, function(data)
  {
    console.log(data);
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
  }, "json").done(function(data)
  {
    //console.log(data);
  });
}



function stock_producto_venta_datalist(valores, numero)
{
	console.info(valores+numero);
  $.post('libreria_php/cargar_formulario.php', {
    tabla: 'producto',
    campos: 'stock, minimo, maximo, descripcion, precio_venta, id_grupo_producto, id',
    buscar: 'id',
    valor: valores,
    caja: numero
  }, function(data)
  {
    
		if(data.id == ""){
	
		
	 $.each( data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
	
	}else{
		console.log(data);
    $.each(data, function(id, valor)
    {
      //if(id == 'id'){document.getElementById("" + id + "").value = valor;}
      document.getElementsByName("" + id + "").item(0).value = valor;
    });
	}
  }, "json").done(function(data)
  {
    //console.log(data);
  }).error(function(data, status, readyState, responseText)
  {
    console.error("Error cliente: " + data.status);
    console.error("Error cliente: " + data.readyState);
    console.error("Error cliente: " + data.responseText);
  });
  
  return false;
}

function buscar_facturas_venta()
{

  $.post('libreria_php/genera_registros_json.php', {
    consulta_sql: 'select factura from maestro_factura_venta group by factura; ',
    sql_numero: 'select factura from maestro_factura_venta group by factura; '
  }, function(data)
  {

console.info('buscando facturas');
console.log(data.registros[0]);
console.log(data.registros[0].factura);


  }, "json").done(function(data)
  {
    //console.log(data);
  }).error(function(data, status, readyState, responseText)
  {
    console.error("Error cliente: " + data.status);
    console.error("Error cliente: " + data.readyState);
    console.error("Error cliente: " + data.responseText);
  });
  
  return false;
}



function envio_formulario()
{
  $('#formulario').submit(function()
  {
    $.ajax(
    {
      type: 'POST',
      url: $(this).attr('action'),
      data: $(this).serialize(),
      // Mostramos un mensaje con la respuesta de PHP
      success: function(data)
      {
        $('#result').html(data);
      }
    })
    //return false;
  });
}

function clearForm()
{
  $('#formulario').each(function()
  {
    this.reset();
  });
  $('#formulario').form('clear');
}

function sumatoria()
{
  var re = "";
  var valor = 0;
  $('#formulario').find('.totalizar').each(function()
  {
    re = $(this).val();
    if (re != 'NaN' && re != '')
    {
      valor += parseFloat(re);
    }
  });
  $('#subtotal').val(valor.toFixed(1));
}

function total_parcial(numero_caja, tipo)
{
  var numero_cantidad = 'cantidad' +  numero_caja;
  var precio = 'precio' +  numero_caja;
  var total = 'total_producto' +  numero_caja;
  var cantidad= 'cantidad' + numero_caja;

  var maximo = 'maximo' + numero_caja;
  var stock = 'stock' + numero_caja;
  
  if (tipo == 'venta' )
  {
    var precio = 'precio_venta' +  numero_caja;
    var numero_cantidad_venta = Number(document.getElementById(cantidad).value);
    var numero_stock_venta = document.getElementById(stock).value;
    var precio_venta = Number(document.getElementById(precio).value);
    if (numero_cantidad_venta < numero_stock_venta)
    {
      document.getElementById(total).value = numero_cantidad_venta * precio_venta;
      sumatoria();
      document.getElementById('iva').value = ((parseFloat(document.getElementById('subtotal').value)) * (Number(document.getElementById('valor_iva').value) / 100));
      document.getElementById('total').value = (parseFloat(document.getElementById('iva').value) + parseFloat(document.getElementById('subtotal').value));
    }
    else
    {
      alert('no hay suficiente stock de inventario');
	  
    }
  }
  if (tipo == 'compra' || tipo == 'devolucion_venta'  ||  tipo == 'devolucion_compra')
  {
    document.getElementById(total).value = (Number(document.getElementById(numero_cantidad).value) * Number(document.getElementById(precio).value));
    sumatoria();
    document.getElementById('iva').value = ((parseFloat(document.getElementById('subtotal').value)) * (Number(document.getElementById('valor_iva').value) / 100));
    document.getElementById('total').value = (parseFloat(document.getElementById('iva').value) + parseFloat(document.getElementById('subtotal').value));
  }
  if (tipo == 'compra_existente')
  {
    var numero_stock = Number(document.getElementById(stock).value);
    var numero_cantidad_compra = Number(document.getElementById(cantidad).value);
    var sumar_stock = numero_stock + numero_cantidad_compra;
    var numero_maximo_compra = Number(document.getElementById(maximo).value);
	var precio_compra = Number(document.getElementById(precio).value);
	
    if (sumar_stock < numero_maximo_compra)
    {
      var total_parcial = numero_cantidad_compra * precio_compra;
      document.getElementById(total).value = total_parcial;
      sumatoria();
      var iva_parcial = ((parseFloat(document.getElementById('subtotal').value)) * (Number(document.getElementById('valor_iva').value) / 100));
      document.getElementById('iva').value = iva_parcial;
      var total_final = (parseFloat(document.getElementById('iva').value) + parseFloat(document.getElementById('subtotal').value));
      document.getElementById('total').value = total_final;
    }
    else
    {
      alert('esta por encima del tope maximo de inventario');
      document.getElementById(cantidad_compra_existente).focus;
    }
  }
}

function totaliza()
{
  document.getElementById('iva').value = ((parseFloat(document.getElementById('subtotal').value)) * (Number(document.getElementById('valor_iva').value) / 100));
  document.getElementById('total').value = (parseFloat(document.getElementById('iva').value) + parseFloat(document.getElementById('subtotal').value));
};

function descuentos(valor)
{
  totaliza();
  document.getElementById('total').value = ((parseFloat(document.getElementById('total').value)) - parseFloat(valor));
}

function cambiar_digito_factura (valor)
{
		
	console.info('digito de factura');
	alert('el nuevo valor es ' + document.getElementById('digito_factura').value);
	
	
	
}


var cambiar_digito_facturas = function(valor) {
	
	alert('el nuevo valor es ' + document.getElementById('digito_factura').value);
	
	document.getElementById('digito_factura').value = valor;
};
